Tengo una ligera comprensión de esto funciona, sin embargo, no lo suficiente como para entender lo que está pasando aquí. Creo que está creando un conflicto y haciéndolo inútil.
Estoy tratando de reemplazar {{aff_id}} con un parámetro de URL.
Esto está en ClickFunnels FYI y se está utilizando en un formulario de envío de correo electrónico.
Aquí está el código:
<script> $(document).ready(function () { var replaceString = "organic"; var replaceString2 = "null"; var urlTerm2 = getURLParameter("aff_id"); var urlTerm = getURLParameter("tid"); if (urlTerm.trim().length > 0 && urlTerm != "null") { replaceString = decodeURIComponent(urlTerm).replace(/\+/g,' '); } $("body").html($("body").html().replace(/\{\{tid\}\}/g,replaceString)); if (urlTerm2.trim().length > 0 && urlTerm2 != "null") { replaceString2 = decodeURIComponent(urlTerm2).replace(/\+/g,' '); } $("body").html($("body").html().replace(/\{\{aff_id\}\}/g,replaceString2)); }); </script>Estoy seguro de que esto es algo súper simple que me estoy perdiendo. ¡Nada de ayuda sería muy apreciada!
Gracias.
Mi única crítica real aquí es el uso de nombres de variables no descriptivos. Como replaceString y replaceString2 no son muy útiles. Para el principio de no repetirse , podría ser mejor extraer la lógica como una función. Además, parece que las expresiones regulares son más crípticas que realmente útiles aquí. Podría escribir algo como esto en su lugar.
const replaceTemplate = function (tag, replacment) { $("body") .html() .replaceAll("{{" + tag + "}}", replacment.replaceAll("+", " ")); }; $(document).ready(function () { var affId = getURLParameter("aff_id"); var tid = getURLParameter("tid"); replaceTemplate("aff_id", affId ? affId : "null"); replaceTemplate("tid", tid ? tid : "organic"); });